package com.grpc_server.utils;
/*

                  写字楼里写字间，写字间里程序员；
                  程序人'猿'写程序，又拿程序换酒钱。
                  酒醒只在网上坐，酒醉还来网下眠；
                  酒醉酒醒日复日，网上网下年复年。
                  但愿老死电脑间，不愿鞠躬老板前；
                  奔驰宝马贵者趣，公交自行程序员。
                  别人笑我忒疯癫，我笑自己命太贱；
                  不见满街漂亮妹，哪个归得程序'猿'？
━━━━━━神兽出没━━━━━━
 ┏┓   ┏┓
┏┛┻━━━┛┻┓
┃       ┃
┃   ━   ┃
┃ ┳┛ ┗┳ ┃
┃       ┃
┃   ┻   ┃
┃       ┃
┗━┓   ┏━┛
  ┃   ┃                    神兽保佑, 永无BUG!
  ┃   ┃       Code is far away from bug with the animal protecting
  ┃   ┗━━━┓
  ┃       ┣┓
  ┃       ┏┛
  ┗┓┓┏━┳┓┏┛
   ┃┫┫ ┃┫┫
   ┗┻┛ ┗┻┛
 */

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Properties;

/**
 * Created by 石头哥哥 on 11/6/15.
 * <p>
 * server-service
 * <p>
 * com.suweia.intellibox.server_service.common.utils
 * <p>
 * comments:  文件操作类
 */
public class FileUtil {

    /**
     * 读取jar中的文件
     *
     * @param filePath 相对路径 /res/xxx.properties
     * @return
     */
    private static InputStream loadingFile(String filePath) throws FileNotFoundException {
        //first loading in classpath
        InputStream inputStream = FileUtil.class.getResourceAsStream(filePath);
        //loading in file
        if (inputStream == null) {//loading in file
            inputStream = new FileInputStream(filePath);
        }
        return inputStream;
    }

    /**
     * 加载属性配置文件
     *
     * @param filePath 相对路径 /res/xxx.properties
     * @return properties   注意 外部进行clear
     */
    public static Properties buildProperties(String filePath) {
        try {
            Properties properties = new Properties();
            InputStream inputStream = loadingFile(filePath);
            properties.load(inputStream);
            inputStream.close();//close the inputstram
            return properties;
        } catch (Exception e) {
            return null;
        }

    }


}
